package com.atguigu.crowd.service.api;

import com.atguigu.crowd.entity.Admin;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 管理员维护
 *
 * @author cyb315
 * @create 2021-10-17 14:25
 */
public interface AdminService {

    // 保存管理员信息
    void saveAdmin(Admin admin);

    // 查询所有管理员信息
    List<Admin> getAllAdmin();

    // 根据账号密码查询返回Admin对象
    Admin getAdminByLoginAcct(String loginAcct, String userPswd);

    // 根据关键词（可以为空）获取分页的管理员信息
    PageInfo<Admin> getAdminPage(String keyword, Integer pageNum, Integer pageSize);

    // 根据管理员id删除管理员信息
    void removeAdmin(Integer adminId);

    // 根据id获取管理员信息
    Admin getAdminById(Integer adminId);

    // 更新管理员信息
    void updateAdmin(Admin admin);

    // 保存指定id的管理员的角色信息
    void saveAdminRoleRelationship(Integer adminId, List<Integer> roleIdList);

    // 根据账号获取admin对象
    Admin getAdminByLoginAcct(String username);
}
